package com.ruoyi.city.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 房源详情对象 house_source
 * 
 * @author ruoyi
 * @date 2025-09-19
 */
public class HouseSource extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 房源ID */
    private Long sourceId;

    /** 房源名称，如星河雅居小区2室1厅11平米11万元 */
    @Excel(name = "房源名称，如星河雅居小区2室1厅11平米11万元")
    private String sourceName;

    /** 房源总价 */
    @Excel(name = "房源总价")
    private BigDecimal houseTotalPrice;

    /** 户型，如2室1厅 */
    @Excel(name = "户型，如2室1厅")
    private String houseType;

    /** 建筑面积 */
    @Excel(name = "建筑面积")
    private BigDecimal houseBuildingArea;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal unitPrice;

    /** 装修ID */
    @Excel(name = "装修ID")
    private Long decorationId;

    /** 楼层信息，如低层/10层 */
    @Excel(name = "楼层信息，如低层/10层")
    private String floorInfo;

    /** 朝向，如东 */
    @Excel(name = "朝向，如东")
    private String orientation;

    /** 建筑年代 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "建筑年代", width = 30, dateFormat = "yyyy-MM-dd")
    private Date constructionYears;

    /** 小区ID */
    @Excel(name = "小区ID")
    private Long communityId;

    /** 房源地址 */
    @Excel(name = "房源地址")
    private String address;

    /** 房源介绍 */
    @Excel(name = "房源介绍")
    private String sourceIntro;

    /** 房源图像 */
    @Excel(name = "房源图像")
    private String houseImage;

    public void setSourceId(Long sourceId) 
    {
        this.sourceId = sourceId;
    }

    public Long getSourceId() 
    {
        return sourceId;
    }

    public void setSourceName(String sourceName) 
    {
        this.sourceName = sourceName;
    }

    public String getSourceName() 
    {
        return sourceName;
    }

    public void setHouseTotalPrice(BigDecimal houseTotalPrice) 
    {
        this.houseTotalPrice = houseTotalPrice;
    }

    public BigDecimal getHouseTotalPrice() 
    {
        return houseTotalPrice;
    }

    public void setHouseType(String houseType) 
    {
        this.houseType = houseType;
    }

    public String getHouseType() 
    {
        return houseType;
    }

    public void setHouseBuildingArea(BigDecimal houseBuildingArea) 
    {
        this.houseBuildingArea = houseBuildingArea;
    }

    public BigDecimal getHouseBuildingArea() 
    {
        return houseBuildingArea;
    }

    public void setUnitPrice(BigDecimal unitPrice) 
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice() 
    {
        return unitPrice;
    }

    public void setDecorationId(Long decorationId) 
    {
        this.decorationId = decorationId;
    }

    public Long getDecorationId() 
    {
        return decorationId;
    }

    public void setFloorInfo(String floorInfo) 
    {
        this.floorInfo = floorInfo;
    }

    public String getFloorInfo() 
    {
        return floorInfo;
    }

    public void setOrientation(String orientation) 
    {
        this.orientation = orientation;
    }

    public String getOrientation() 
    {
        return orientation;
    }

    public void setConstructionYears(Date constructionYears) 
    {
        this.constructionYears = constructionYears;
    }

    public Date getConstructionYears() 
    {
        return constructionYears;
    }

    public void setCommunityId(Long communityId) 
    {
        this.communityId = communityId;
    }

    public Long getCommunityId() 
    {
        return communityId;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setSourceIntro(String sourceIntro) 
    {
        this.sourceIntro = sourceIntro;
    }

    public String getSourceIntro() 
    {
        return sourceIntro;
    }

    public void setHouseImage(String houseImage) 
    {
        this.houseImage = houseImage;
    }

    public String getHouseImage() 
    {
        return houseImage;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("sourceId", getSourceId())
            .append("sourceName", getSourceName())
            .append("houseTotalPrice", getHouseTotalPrice())
            .append("houseType", getHouseType())
            .append("houseBuildingArea", getHouseBuildingArea())
            .append("unitPrice", getUnitPrice())
            .append("decorationId", getDecorationId())
            .append("floorInfo", getFloorInfo())
            .append("orientation", getOrientation())
            .append("constructionYears", getConstructionYears())
            .append("updateTime", getUpdateTime())
            .append("communityId", getCommunityId())
            .append("address", getAddress())
            .append("sourceIntro", getSourceIntro())
            .append("houseImage", getHouseImage())
            .toString();
    }
}
